Method of generating optimum skew corners for a compact device model

ABSTRACT

A method of generating optimum skew corner models for a compact device model. A skew corner model refers to a fast or a slow device model, or even a fast-NFET slow-PFET model in which there is no continues distribution for compact device model parameters. A model parameter&#39;s values are set so that the model will reproduce the fast or slow corner results of several circuits performance targets, and wherein each model parameter&#39;s value in the skew corner library is within the tolerance range of that model parameters.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates generally to a method of generatingoptimum skew corners for a compact device model, and more particularlypertains to method of generating a fast or slow skew corner model, or afast-NFET, Slow-PFET skew corner model, in which there is no continuousdistribution for a compact device parameters. A model parameter's valuesare set so that the model will reproduce the fast or slow corner resultsof several circuits performance targets, and wherein each modelparameter's value in the skew corner library is within the tolerancerange of that model parameter.

[0003] 2. Discussion of the Prior Art

[0004] A compact device model in the semiconductor industry includes oneor more of the following items: an FET device model (BSIM3, BSIM4,BSIMPD, Gummel-Poon, VBIC, etc.), models on passive devices (resistors,capacitors, inductors, etc.), and interconnect models. The compact modelin the semiconductor industry plays an important role in linking asemiconductor device/chip manufacturer with circuit design companies ordesign teams. Circuit designers use a compact device model in a circuitsimulator, such as IBM'S AS/X simulator, PowerSpice simulator, vendor'sHSPICE simulator, SmartSpice simulator, Spectre simulator, etc. Atypical compact model contains both nominal values of various modelparameters as well as their standard deviations (i.e., 1-_(σ)tolerance).

[0005] For an FET model, typical model parameters include TOX (oxidethickness), ΔL (difference between FET drawn design length and actuallength), ΔW(difference between FET drawn design width and actual width),V_(T) (threshold voltage), mobility, Cj (junction capacitance), etc. Fora passive device such as a resistor, typical model parameters includesheet resistance of the resistor, its temperature coefficients, and theresistor's length and width, etc. For an interconnect model, typicalmodel parameters include wire length, wire width, wire thickness,wire-to-wire space in the same metal level, vertical distance to a metallevel above, and the vertical distance to a metal level below or to asubstrate/N-well/diffusion region below it, etc.

[0006] With such nominal and tolerance values of model parameters, acircuit designer can do Monte Carlo simulations to obtain both nominalperformance of a circuit and n-_(σ) (e.g., 1-_(σ), 3-_(σ), or 6-_(σ),etc.) worst-case performance or n-_(σ) best-case performance of thecircuit. However, a practical limitation with the Monte Carlo simulationmethod is the huge CPU time required. The reason is that a singlecircuit simulation may take hours of intensive CPU time, and many timesof circuit simulation are required to obtain a meaningful statisticalsample.

[0007] To save circuit simulation time, for circuit designers, it isoften desirable to have a worst-case (best-case) skew-corner library forsimulating the worst-case (best-case) behavior of the circuit. Thissaves a lot of circuit simulation time, since only a single simulationis needed to obtain the worst-case circuit performance number with theuse of a worst-case skew-corner library.

[0008] A commonly used skew corner method is to shift all modelparameters together, i.e., shift them in the same percentage withrespect to each model parameter's standard deviation. As explainedhereinbelow, such a method usually does not produce an optimum skewcorner for a single performance target. For multiple performancetargets, such a single skew corner typically will not reproduce theworst case (or best case) performance results of several circuits (e.g.,FET currents, ring oscillator periods and NAND gate delay, or worstproduct of RC and worst R in an interconnect model) simultaneously.

[0009] In other words, a problem on skew corner is:

[0010] Given that the nominal and tolerance values of all modelparameters in a compact device model have been determined, how toprovide a fast skew model or a slow skew model in which there is nodistribution for any compact model parameters. Specifically, how to seta model parameter's values so that the model will reproduce the fast orslow corner results of several circuits performance targets.

SUMMARY OF THE INVENTION

[0011] Accordingly, it is a primary object of the present invention toprovide a method of generating optimum skew corners for a compact devicemodel.

[0012] A further object of the subject invention is the provision of amethod of generating a fast or slow skew corner model in which there isno distribution for a compact device parameters. A model parameter'svalues are set so that the model will reproduce the fast or slow cornerresults of several circuits performance targets, and wherein each modelparameter's value in the skew corner library is within the tolerancerange of that model parameter.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013] The foregoing objects and advantages of the present invention fora method of generating optimum skew corners for a compact device modelmay be more readily understood by one skilled in the art with referencebeing had to the following detailed description of several embodimentsthereof, taken in conjunction with the accompanying drawings whereinlike elements are designated by identical reference numerals throughoutthe several views, and in which:

[0014]FIG. 1 illustrates that the cross point C of the two straightlines plotted satisfies

0<cos φ<u₁(C)<cos θ<1 and 0<sin θ<u₂(C)<sin φ<1.

[0015]FIG. 2. illustrates that the least-squares solution point S of thethree straight lines satisfies

0<u₁(S), u₂(S)<1.

[0016]FIG. 3 illustrates an example of N=2 (two targets) and M=2 (twoparameters), wherein opposite signs between a₁₂ and a₂₂ leads to asolution |u₁(C)|>1.

[0017]FIG. 4 illustrates an example of N=2 (two targets) and M=2 (twoparameters), wherein opposite signs between a₁₁ and a₂₁ and oppositesigns between a₁₂ and a₂₂ leads to a solution |u₁(C)|>1 and |u₂(C)|>1.

[0018]FIG. 5 illustrates several skew corners for the saturation currentof a pair of NFET and PFET devices.

[0019]FIG. 6 illustrates an example of the skew corner of a fast NFETand slow PFET.

DETAILED DESCRIPTION OF THE DRAWINGS

[0020] The following provides a solution to the problem discussed above,based on a first-order approximation. It should be noted that similarsolutions based on a second-order approximation can also be provided.But they are quite lengthy, and are omitted here. The best way toprovide a second-order solution is in the form of computer software. Thefirst-order solution can help us understand the methodology used. Also,the first-order solution will serve as the initial solution to a set ofnon-linear (say, quadratic) equations.

[0021] In the original coordinate system. For a given compact devicemodel and given nominal values x₁₀, x₂₀, . . . x X_(MO) of M compactmodel parameters x₁, x₂, . . . , x_(M), obtain a first-orderapproximation for a performance target around the above given nominaloperating point. Assume that there are N such performance targets, anddenote the ith target by F_(j). The first-order Taylor series expansionfor the function F_(j)(x₁, x_(2,) . . . , x_(M)) is $\begin{matrix}{{F_{i}\left( {x_{1},\quad x_{2\quad},\quad \ldots {\quad,}\quad x_{M}} \right)} = {{F_{i0} + {\sum\limits_{j = 1}^{M}\quad {{a_{ij}\left( {x_{j} - x_{j0}} \right)},\quad i}}} = {1,\quad 2\quad,\quad \ldots \quad,\quad N,}}} & (1)\end{matrix}$

[0022] where the coefficients a_(ij) (j=1, 2, . . . , M) can be obtainedeither from expanding the model equations (say, equations for FETcurrent or equations for a resistor's resistance) at the operating point(x₁₀, x₂₀, . . . , x_(MO)) directly, or from evaluating the model at(x₁₀, x₂₀, . . . , x_(j0)+n_(σ) _(j) , . . . , x_(MO) (i.e., doing asensitivity analysis):

a _(ij) =[F _(i)(x ₁₀ , x ₂₀ , . . . , x _(j0) +n _(σ) _(j) , . . . , x_(M0))−F _(j0)]/(n _(σ) _(j) ), j=1, 2, . . . , M,

[0023] where F_(j0)=F_(j)(x₁₀, x₂₀, . . . , x_(j0), . . . , x_(M0)), andn can be 1, −1, 2, −2, 3, −3, or many other discrete values.Practically, the coefficient a,, indicates how sensitive the targetF_(i) is with respect to the change in the model parameter x_(j).

[0024] Let _(σ) _(j) be the standard deviation (i.e., 1-_(σ) tolerance)of jth model parameter x_(j). Then the joint probability for parametersx₁, x₂, . . . , x_(M) is (assuming that x₁, x₂, . . . , x_(M) arestatistically independent of each other): $\begin{matrix}{{{P\left( {x_{1},\quad x_{2\quad},\quad \ldots \quad,\quad x_{M}} \right)} = {{const} \cdot {\exp \left\lbrack {{- \frac{1}{2}}{\sum\limits_{j = 1}^{M}\quad \frac{\left( {x_{j} - x_{j0}} \right)^{2}}{\sigma_{j}^{2}}}} \right\rbrack}}}\quad} & (2)\end{matrix}$

[0025] Using the distribution (2), it is easy to verify some averagevalues:

x_(j)

=x_(j0)

(x_(j)−x_(j0))²

=σ² _(j)=1,2, . . . , M

(x_(j)−x_(j0))(x_(i)−x₁₀

=0, j≠I,j,I=1,2, . . . , M

[0026] Using them, find the average value of the ith target,

F_(i)

=F_(i0) i=1, 2, . . . , N

[0027] and the variance of the ith target, $\begin{matrix}{{\sum\limits_{i}^{2}\quad {\equiv {{\langle F_{i}^{2}\rangle} - {\langle F_{i}\rangle}^{2}}}} = {{\sum\limits_{j = 1}^{M}\quad {a_{ij}^{2}\sigma_{j}^{2},\quad i}} = {1,\quad 2\quad,\quad \ldots {\quad,}\quad N}}} & (3)\end{matrix}$

[0028] Relation (3) links the standard deviations Σ_(i) of the circuitperformance targets to the standard deviations _(σ) _(j) of the compactmodel parameters.

[0029] 1-_(σ) Worst-Worst Case (or 1-_(σ) Best-Best Case):

[0030] The so-called 1-_(σ) worst-worst case (or best-best case) isobtained by setting all model parameters to their respective 1-_(σ)worst (or best) case value:${{F_{i}\left( {{{X_{10} \pm {\sigma_{1},\quad x_{20}}} \pm {\sigma_{2},\quad \ldots \quad,\quad x_{M0}}} \pm \sigma_{M}} \right)} = {\left. {F_{i0} \pm \sum\limits_{j = 1}^{M}}\quad \middle| a_{ij} \middle| {\sigma_{j},\quad i} \right. = {1,\quad 2{,\quad}\quad \ldots \quad,\quad N,}}}\quad$

[0031] which is much more off than 1-_(σ) worst case (or best case). Thereason is that${\sum\limits_{j = 1}^{M}\quad \left| a_{ij} \middle| {\sigma_{j} > \sum\limits_{\quad i}^{\quad}} \right.}\quad = \left( {\sum\limits_{j = 1}^{M}\quad {a_{ij}^{2}\sigma_{j}^{2}}} \right)^{\frac{1}{2}}$

[0032] To see this, square the left hand side of the above inequality,and obtain$\left( {\sum\limits_{j = 1}^{M}\quad \left| a_{ij} \middle| \sigma_{j} \right.} \right)^{2} = {{\left( {\sum\limits_{j = 1}^{M}\quad \left| a_{ij} \middle| \sigma_{j} \right.} \right)\left( {\sum\limits_{l = 1}^{M}\quad \left| a_{il} \middle| \sigma_{l} \right.} \right)} = \left. {{\sum\limits_{j = 1}^{M}\quad {a_{ij}^{2}\sigma_{j}^{2}}} + \sum\limits_{{j,\quad l} = {{1,\quad j} \neq l}}^{M}}\quad \middle| {a_{ij}a_{il}} \middle| \sigma_{j}^{2} \right.}$

[0033] namely,${\left( {\sum\limits_{j = 1}^{M}\quad \left| a_{ij} \middle| \sigma_{j} \right.} \right)^{2} = \left. {\sum\limits_{i}^{2}\quad {+ \sum\limits_{{j,\quad l} = {{1,\quad j} \neq l}}^{M}}}\quad \middle| {a_{ij}a_{il}} \middle| {\sigma_{j}^{2} > \sum\limits_{i}^{2}} \right.}\quad$

[0034] To get an understanding on how much off the worst-worst case (orbest-best case) is, examine a special case. When each parameter givesthe same contribution Σ_(j), i.e.,

|a_(ij)|σ_(j)=|a_(i1)|σ₁, j=2,3, . . . , M

[0035] we find that$\sum\limits_{\quad i}^{\quad}\quad {= {\left. \sqrt{M} \middle| a_{i1} \middle| {\sigma_{1},\quad i} \right. = {1,\quad 2,\quad \ldots \quad,\quad N}}}$

[0036] and thus${F_{i}\left( {{{X_{10} \pm {\sigma_{1},\quad x_{20}}} \pm {\sigma_{2},\quad \ldots \quad,x_{M}}} \pm \sigma_{M}} \right)} = {\left. {F_{i0} \pm M} \middle| a_{i1} \middle| \sigma_{1} \right. = {{F_{i0} \pm {\sqrt{M}{\sum\limits_{\quad i}^{\quad}\quad {,\quad i}}}} = {1,\quad 2,\quad \ldots \quad,\quad N}}}$

[0037] The above discussion shows quantitatively why one can not get thebest/worst case solution by simply skewing all model parameters to theirrespective best/worst skew corner. It also indicates that, in order toreach the best/worst case solution, the model parameters should takevalues within their respective tolerance range (x_(j0)−_(σ) _(j) ,x_(j0)+σ_(j)).

[0038] In a normalized coordinate system. First introducing normalizedsensitivity coefficients $\begin{matrix}{{\alpha_{ij} = {{\frac{a_{ij}\sigma_{j}}{\sum\limits_{\quad i}^{\quad}\quad},\quad i} = {{1,\quad 2,\quad \ldots \quad,\quad N,\quad j} = {1,\quad 2,\quad \ldots \quad,\quad M}}}}\quad} & (4)\end{matrix}$

[0039] we find that each equation in Eqs. (3) can be recast to a form ofa unit length vector, $\begin{matrix}{{{\sum\limits_{j = 1}^{M}\alpha_{ij}^{2}} = 1},\quad {i = 1},2,\quad {\ldots \quad N}} & \left( \text{5a} \right)\end{matrix}$

[0040] Equation (5a) shows that each normalized sensitivity coefficientis within −1 and 1,

−1≦a_(ij)≦1, i=1,2, . . . , N j=1,2, . . . , M  (5b)

[0041] Next introduce a shifted-and-scaled coordinate system,

u _(j)=(x _(j) −x _(j0))/_(σ) _(j)   (6)

[0042] which is dimensionless. Notice that u_(j)=1 corresponds tox_(j)=x_(j0)+σ_(j). Also, |u_(j)|<1 corresponds to the model parameterx_(j) within its tolerance range: x_(j0)−σ_(j)<x_(j0)+σ_(j). In terms ofthe dimensionless, shifted-and-scaled coordinates, the joint probabilitydistribution (2) becomes $\begin{matrix}{{P\left( {u_{1},u_{2},\quad \ldots \quad,u_{M}} \right)} = {{const} \cdot {\exp \left( {{- \frac{1}{2}}{\sum\limits_{j - 1}^{M}u_{j}^{2}}} \right)}}} & (7)\end{matrix}$

[0043] The 1-_(σ) best/worst case of F_(j) is either$\left( {F_{i\quad 0} + \sum\limits_{i}} \right)\quad {or}\quad {\left( {F_{i\quad 0} - \sum\limits_{i}} \right).}$

[0044] To be clear, denote$F_{i} = {F_{i0} + {\eta_{i}\sum\limits_{i}}}$

[0045] with _(η) _(i) being 1 or −1. Substituting Eq. (6) into Eq. (1),in order to reach the best/worst cases of N performance targets F_(j)(i=1, 2, . . . , N) simultaneously, the following conditions have to besatisfied simultaneously, $\begin{matrix}{{{\sum\limits_{j = 1}^{M}{a_{ij}\sigma_{j}u_{j}}} = {\eta_{i}\sum\limits_{i}}},\quad {i = 1},2,\ldots \quad,N} & \left( {8a} \right)\end{matrix}$

[0046] The difference and similarity between Eqs. (8a) and (3) should benoticed. Making use of Eqs. (4) in Eq. (8a), obtain a simpler form ofEq. (8a), $\begin{matrix}{{{\sum\limits_{j = 1}^{M}{\alpha_{ij}u_{j}}} = {{\eta_{i}\quad i} = 1}},2,\ldots \quad,N} & \left( {8b} \right)\end{matrix}$

[0047] See what happens if we need to provide N separate skew corners,i.e., one skew corner for the best/worst case value of target F₁ only,and another skew corner for the best/worst case value of target F₂ only,etc. By comparing Eq. (8b) with Eq. (5a), we know that $\begin{matrix}{{u_{j} = {{\eta_{i}\alpha_{ij}} = {\eta_{i}\frac{a_{ij}\sigma_{j}}{\sum\limits_{i}}}}},\quad {j = 1},2,\ldots \quad,M} & (9)\end{matrix}$

[0048] are a set of solutions. Since _(η) _(j) is either 1 or −1, it iseasy to see from Eq. (5b) that −1≦u_(j)≦1. [Certainly, these are NOTunique solutions, since there are M variables but there is only oneconstraint.] Using Eq. (5a) and noting that _(η) _(i) is either 1 or −1,we get the following unit-length-vector relation for the skew cornersolution in Eq. (9), $\begin{matrix}{{\sum\limits_{j = 1}^{M}u_{j}^{2}} = 1} & (10)\end{matrix}$

[0049] The following discussion assumes that the best/worst cases of Nperformance targets F_(j) (i=1, 2, . . . , N) are obtainedsimultaneously. Geometrically, each equation in Eq. (8b) (which containsN equations) represents a plane in an M-dimensional space whose distanceto the center of the shifted and scaled coordinate system is 1, and thenormal direction of the plane is, (α_(i1), α_(i2), . . . , α_(iM)) forthe ith target. In other words, each plane is tangent to a unit spherein the M-dimensional space. FIG. 1 illustrates this in the case of M=2,i.e., on a two-dimensional plane, in which the unit sphere reduces to aunit circle, and the M-dimensional plane becomes a straight line.

[0050]FIG. 1 illustrates that the cross point C of the two straightlines plotted satisfies

0<cos φ<u₁(C)<cos θ<1 and 0<sin θ<u₂(C)<sine φ<1.

[0051] Depending on whether N or M is larger, three situations canoccur, as discussed below.

[0052] I. Situation of N=M. If N=M exactly (wherein N is the number ofperformance targets and M is the number of model parameters), then the Mlinear algebraic equations (8) will uniquely determine M coordinates u₁,u₂, . . . , u_(M).

[0053] When all ratios _(α) _(j1) /_(ρ) _(j) (i=1, 2, . . . , N) havethe same sign (or being zero), and all ratios _(α) _(j2) /_(η) _(j)(i=1, 2, . . . , N) have the same sign (or being zero), etc., thesolution will be within [−1, 1] range: −1≦u_(j)≦1, j=1, 2, . . . , M. Anexample of N=M=2 is illustrated in FIG. 1. Also, the sign of u_(j) isthe same as that of _(α) _(ij) /_(η) _(j) .

[0054] II. Situation of N>M. If N>M, there are more equations thanunknowns, and a least-squares fit method can be used to achieve anoptimum set of u₁, u₂, . . . , u_(M). Specifically, we want to minimizethis target function, $\begin{matrix}{{T\left( {u_{1},u_{2},\ldots \quad,u_{M}} \right)} = {\sum\limits_{i = 1}^{M}\left\lbrack {\left( {\sum\limits_{j = 1}^{M}{\alpha_{ij}u_{j}}} \right) - \eta_{i}} \right\rbrack^{2}}} & (11)\end{matrix}$

[0055] Setting each of M first-order derivatives to zero,$\begin{matrix}{{\frac{\partial T}{\partial u_{k}} = {{\sum\limits_{i = 1}^{N}{2{\alpha_{ik}\left\lbrack {\left( {\sum\limits_{i = 1}^{M}{\alpha_{ij}u_{j}}} \right) - \eta_{i}} \right\rbrack}}} = 0}},\quad {k = 1},2,\ldots \quad,M,} & (12)\end{matrix}$

[0056] we have M linear algebraic equations to determine M unknowns u₁,u₂, . . . , u_(M), $\begin{matrix}\begin{matrix}{{\sum\limits_{j = 1}^{M}{A_{kj}u_{j}}} = B_{k,}} & \quad & {{k = 1},2,\ldots \quad,M,}\end{matrix} & (13)\end{matrix}$

[0057] where coefficients $\begin{matrix}\begin{matrix}{{A_{kj} = {\sum\limits_{i = 1}^{N}{\alpha_{ik}\alpha_{ij}}}},} & \quad & {k,{j = 1},2,\ldots \quad,M}\end{matrix} & \left( {14a} \right) \\\begin{matrix}{{B_{k} = {\sum\limits_{i = 1}^{N}{\eta_{i}\alpha_{ik}}}},} & \quad & {{k = 1},2,\ldots \quad,M,}\end{matrix} & \left( {14b} \right)\end{matrix}$

[0058] Again, when all ratios _(α) _(j1) /_(η) _(j) (i=1, 2, . . . , N)have the same sign (or being zero), and all ratios _(α) _(j2) /_(η) _(j)(i=1, 2, . . . , N) have the same sign (or being zero), etc., thesolution will be within [−1, 1] range: −1≦u_(j)≦1, j=1, 2, . . . , M.Also, the sign of u_(j) is the same as that of _(α) _(ij) /_(η) _(i) .An example of N=3 and M=2 is illustrated in FIG. 2. The solution point Sis located within a triangle formed by 3 straight lines, and thus itsatisfies −1≦u₁(S), u₂(S)≦1. For example, when the angle θ is 45degrees, the coefficients are A₁₁=A₂₂=3/2, A₁₂=A₂₁=½,B₁=B₂=1+½^(1/2)=1.707, and thus the least-square solution isu₁(S)=u₂(S)=B₁2=0.8535.

[0059]FIG. 2 illustrates that the least-squares solution point S of thethree straight lines satisfies

0<u₁(S), u₂(S)<1.

[0060] III. Situation of N<M. If N<M, we actually have freedom to choose(M−N) parameters (say, u_(N+1), . . . , u_(M)) first and then solve Nlinear algebraic equations to obtain the rest Of N parameters (say, u₁,u₂, . . . , u_(N)). The optimum choice, however, is to maximize thejoint probability distribution (7) subject to the N constraints as givenby Eqs. (8b). In other words, we want to minimize$\sum\limits_{j = 1}^{M}u_{j}^{2}$

[0061] under the N restrictions. Mathematically, we minimize thefollowing target function, $\begin{matrix}\begin{matrix}{{T\left( {u_{1},u_{2},\ldots \quad,u_{M},\lambda_{1},\lambda_{2},\ldots \quad,\lambda_{N}} \right)} = {{\sum\limits_{j = 1}^{M}u_{j}^{2}} +}} \\{{\sum\limits_{i = 1}^{N}{\lambda_{i}\left( {{\sum\limits_{j = 1}^{M}{\alpha_{ij}u_{j}}} - \eta_{i}} \right)}}}\end{matrix} & (15)\end{matrix}$

[0062] Setting each of (M+N) first-order derivatives to zero,$\begin{matrix}\begin{matrix}{{\frac{\partial T}{\partial u_{j}} = {{{2u_{j}} + {\sum\limits_{i - 1}^{N}{\lambda_{i}\alpha_{ij}}}} = 0}},} & \quad & {{i = 1},2,\ldots \quad,M,}\end{matrix} & \left( {16a} \right) \\\begin{matrix}{{\frac{\partial T}{\partial\lambda_{i}} = {{{\sum\limits_{j = 1}^{M}{\alpha_{ij}u_{j}}} - \eta_{i}} = 0}},} & \quad & {{i = 1},2,\ldots \quad,N,}\end{matrix} & \left( {16b} \right)\end{matrix}$

[0063] we have (M+N) linear algebraic equations to determine (M+N)unknowns u₁, u₂, . . . , u_(M), λ₁, λ₂, . . . , λ_(N). Notice that Eqs.(16b) are just Eqs. (8b).

[0064] For example, when M=2 and N=1, we have the case of “one line on a2D plane”. Let the line equation be (see FIG. 1)

u₁cos φ+u₂sin φ=1.  (17)

[0065] The target function to minimize is now

T(u ₁ , u ₂, λ)=u ₁ ² +u ₂ ²+λ(u ₁cos φ+u ₂sin φ−1).

[0066] Three equations (since M+N=3) are 2u₁+λcos φ=0, 2u₂+λsin φ=0, andEq. (17). The solution is u₁=cos φ, u₂=sin φ, and λ=−2, in agreementwith FIG. 1.

[0067] A typically used method is to skew all model parameters (here u₁and u₂) together in the same percentage amount (with respect toindividual parameter's best/worst case) through the use of a nominalrandom number (NRN), namely, u₁=u₂=NRN. In terms of FIG. 1, this methodcorresponds to moving out in 45-degree direction. As FIG. 1 illustrates,this method usually does not give the optimum skew corner.

[0068] In general, Eq. (16a) leads to $\begin{matrix}\begin{matrix}{{u_{j} = {{- \frac{1}{2}}{\sum\limits_{i = 1}^{N}{\lambda_{i}\alpha_{ij}}}}},} & \quad & {{j = 1},2,\ldots \quad,M}\end{matrix} & (18)\end{matrix}$

[0069] Substitution of Eq. (18) into Eq. (16b) gives N algebraicequations for $\begin{matrix}{\lambda_{1},\lambda_{2},\ldots \quad,\lambda_{N},} & \quad \\\begin{matrix}{{{\sum\limits_{k = 1}^{N}{b_{ik}\lambda_{k}}} = {{- 2}\quad \eta_{i}}},} & \quad & {{i = 1},2,\ldots \quad,N}\end{matrix} & (19)\end{matrix}$

[0070] where the coefficients $\begin{matrix}\begin{matrix}{{b_{ik} = {\sum\limits_{j = 1}^{M}{\alpha_{ij}\alpha_{kj}}}},} & \quad & {i,{k = 1},2,\ldots \quad,N}\end{matrix} & (20)\end{matrix}$

[0071] Owing to the unit-length-vector relation (5a), we see that

b_(ii)=1, i=1,2, . . . , N,  (21a)

[0072] and

−1≦b_(ik)≦1, i,k=1,2, . . . , N, i≠k  (21b)

[0073] When there is onlv 1 target. i.e., when N=1, we get from Eq. (18)that $\begin{matrix}\begin{matrix}{{u_{j} = {{- \frac{1}{2}}\lambda_{1}\alpha_{1j}}},} & \quad & {{j = 1},2,\ldots \quad,M}\end{matrix} & (22)\end{matrix}$

[0074] Also, we obtain from Eqs. (19) and (21a) that

b₁₁λ₁=λ₁=−2η₁  (23)

[0075] Substitution of Eq. (23) into Eq. (22) gives us solution$\begin{matrix}\begin{matrix}{{u_{j} = {{\eta_{1}\alpha_{1j}} = {\eta_{1}\frac{a_{1j}\sigma_{j}}{\sum\limits_{1}}}}},} & \quad & {{j = 1},2,\ldots \quad,M,}\end{matrix} & (24)\end{matrix}$

[0076] where the second equality is the result of using definition (4).A set of solutions (24) are just Eqs. (9) given previously. Notice that|u_(j)|≦1, j=1, 2, . . . , M. Similarly, a set of solutions (24) satisfyunit-length-vector relation (10). Equations (24) also reveal thatsolution (9) is a set of optimum solutions (for a single targetproblem), since it maximizes the joint probability distribution. A setof solutions (24) also says that the amount of skewing, u_(j), for eachparameter x_(j) is proportional to the projection _(α) _(1j) of planenormal direction on the jth axis. In an example of${M = {{4\quad {with}\quad \alpha_{11}} = {{a_{11}{\sigma_{1}/\sum\limits_{1}^{\quad}}} = 0.8}}},{\alpha_{12} = {{a_{12}{\sigma_{2}/\sum\limits_{1}^{\quad}}} = 0.48}},{a_{13} = {{a_{13}{\sigma_{3}/\sum\limits_{1}^{\quad}}} = 0.288}},{{{and}\quad \alpha_{14}} = {{a_{14}{\sigma_{4}/\sum\limits_{i}^{\quad}}} = 0.216}},$

[0077] relation (5a) is satisfied. For the case of _(η) ₁ =1, thesolution is simply u₁=0.8, u₂=0.48, u₃=0.288, and u₄=0.216.

[0078] If (u₁, u₂, . . . , u_(M)) are a set of solutions for 1-_(σ)best/worst case, then (3u₁, 3u₂, . . . , 3u_(M)) are the set ofsolutions for 3-_(σ) best/worst case.

[0079] In the following, we discuss the generalization of the aboveresults.

[0080] A. Opposite model parameter skewing directions for multiileperformance targets

[0081] In interconnect models, a wider wire has less resistance, butalso has larger wiring capacitance. In other words, the best case ofwire resistance requires a wider wire, but the best case of wiringcapacitance requires a narrower wire, an opposite parameter skewingdirection.

[0082]FIG. 3 illustrates a case in which two different performancetargets lead to a₁₁ and a₂₁ have the same sign, but a₁₂ and a₂₂ haveopposite signs. The resulting solution is in the region of |u₁(C)|>1,which may not be desirable.

[0083]FIG. 4 shows a further example of N=M=2 with opposite signsbetween a₁₁ and a₂₁ and also opposite signs between a₁₂ and a₂₂. In FIG.4, both |u₁(C)| and |u₂(C)| are larger than 1. If a result with|u_(j)(C)|>1 is not acceptable, we provide a solution here: to groupmultiple performance targets into several groups. In each group, allratios _(α) _(j1) /_(η) _(j) (i=1, 2, . . . , N) have the same sign (orbeing zero), all ratios _(α) _(j2) /_(η) _(j) (i=1, 2, . . . , N) havethe same sign, etc. After such grouping, an initial case of “N>M” maybecome N=N₁+N₂+ . . . , with N₁<M, N₂<M, etc. A separate skew corner isprovided for each group of performance targets. For each skew corner, wewill have the bounded solution of |u_(j)(C)|≦1, j=1, 2, . . . , M. Also,the sign of u_(j) is the same as that of _(α) _(ij) /_(η) _(i) .

[0084] Now, we can summarize the steps used in our method of generatingoptimum skew corner for a compact device model.

[0085] 1. Collect a number N of multiple performance targets F_(i), i=1,2 . . . , N.

[0086] 2. Identify a number M of model parameters. For each modelparameter, its tolerance should be given along with its nominal value inthe compact model. Also, for each model parameter, decide if it shouldbe included in the skew-corner analysis or not. For example, whendeciding the skew corner for just interconnect wiring resistance andcapacitance, there is no need to include the FET model parameter TOX,mobility, Cj, etc. This step determines the number M of involved modelparameters.

[0087] 3. Do a sensitivity analysis for each target. Namely, findcoefficients a_(ij) in Eq. (1). Their total number is NM.

[0088] 4. Decide the sign (and value) of _(η) _(i) for the worst (orbest) case of ith target, F_(i).

[0089] 5. Divide performance targets into more groups if necessary.After grouping, in each group, all ratios _(α) _(i1) /_(η) _(i) (i=1, 2,. . . , N) should have the same sign (or being zero), all ratios _(α)_(j2) /_(η) _(i) (i=1, 2, . . . , N) have the same sign, etc. Forexample, in the case of an interconnect model, the worst case ofresistance R, the best case of capacitance C, and the worst case of theproduct RC belong to one group, where as the best case of resistance R,the worst case of capacitance C, and the best case of the product RCbelong to another group.

[0090] 6. For each group, decide whether it belongs to situation I, II,or III discussed above. Specifically, this is done by comparing thenumber of targets N in the group and its relation to the number of modelparameter number M.

[0091] 7. For each group, calculate a separate skew corner using thecorresponding method for the situation. The results are the boundedsolution of |u_(j)|≦1, j=1, 2, . . . , M, with the sign of u_(j) beingthe same as that of _(α) _(ij) /_(η) _(i) .

[0092]FIG. 3 illustrates an example of N=2 (two targets) and M=2 (twoparameters), wherein opposite signs between a₁₂ and a₂₂ leads to asolution |u₁(C)|>1.

[0093]FIG. 4 illustrates an example of N=2 (two targets) and M=2 (twoparameters), wherein opposite signs between a₁₁ and a₂₁ and oppositesigns between a₁₂ and a₂₂ leads to a solution |u₁(C)|>1 and |u₂(C)|>1.

[0094] B. NFET and PFET difference and correlation

[0095] A model parameter x_(j) [e.g., effective Tox, ΔL, ΔW, Vt, Cj,etc.] for NFET and that PFET often have different nominal values x_(jN0)and x_(jP0) and, sometime, even different standard deviations _(σ) _(jN)and _(σ) _(jP) . Since, say, Tox for NFET and Tox for PFET are highlycorrelated, it is important to treat Tox(NFET) and Tox(PFET) as twoseparate variables x_(jN) and x_(jP) that are highly correlated. Inother words, TOX(NFET) and Tox(PFET) should be tied together somehow.The correct treatment goes like this.

[0096] Equation (1) is generalized to: $\begin{matrix}{{F_{1} = {F_{i0} + {\sum\limits_{j = 1}^{M}{a_{ij}\left( {x_{jN} - x_{jN0}} \right)}} + {\sum\limits_{j = 1}^{M}{b_{ij}\left( {x_{jP} - x_{jP0}} \right)}}}},{i = 1},2,\ldots \quad,N} & (25)\end{matrix}$

[0097] Under the assumption that x_(jN) and x_(jP) are fully correlated,we mean that, when x_(jN)=x_(jN0), one has x_(jP)=x_(jP0) and that, whenx_(jN)=/−_(σ) _(jN) , one also has x_(jP)=x_(jP0)+/−σ_(jP).Quantitatively, the complete correlation of x_(jN) and x_(jP) means that

u _(j)=(x _(jN) −x _(jN0))/σ_(jN)=(x _(jP) −x _(jP0))/σ_(jP)  .(26)

[0098] Substitution Of Eq. (26) into Eq. (25) gives $\begin{matrix}\begin{matrix}{{F_{i} = {F_{i0} + {\sum\limits_{j = 1}^{M}{\left( {{a_{ij}\sigma_{iN}} + {b_{ij}\sigma_{jP}}} \right)u_{j}}}}},} & {{i = 1},2,\ldots \quad,N,}\end{matrix} & (27)\end{matrix}$

[0099] Equation (3) is generalized to $\begin{matrix}\begin{matrix}{{\sum\limits_{i}^{2}{= {\sum\limits_{j = 1}^{M}\left\lbrack {\left( {a_{ij}\sigma_{jN}} \right)^{2} + \left( {b_{ij}\sigma_{jP}} \right)^{2}} \right\rbrack}}},} & {{i = 1},2,\ldots \quad,N}\end{matrix} & (28)\end{matrix}$

[0100] Equation (4) is now generalized to $\begin{matrix}{{\alpha_{ij} = {{\frac{1}{\sum\limits_{i}^{\quad}\quad}\sqrt{{\left( {a_{ij}\sigma_{jN}} \right)^{2} + \left( {b_{ij}\sigma_{jP}} \right)^{2}},}\quad i} = 1}},2,\ldots \quad,N} & (29)\end{matrix}$

[0101] After Eq. (29), previously written Eqs. (5), (7)-(24) are allvalid.

[0102]FIG. 5 illustrates several skew corners for the saturation currentof a pair of NFET and PFET devices, wherein 1 designates thefast-NFET-fast-PFET skew corner, 2 designates the slow-NFET-slow-PFETskew corner, 3 designates the fast-NFET-slow-PFET skew corner, and 4designates the slow-NFET-faSt-PFET skew corner.

[0103] C. Fast-NFET-Slow-PFET skew corner and Slow-NFET-Fast-PFET skewcorner.

[0104] A fast-NFET-fast-PFET skew corner usually means${I_{N} = {{I_{N0} + {\sum\limits_{N}^{\quad}\quad {{and}\quad I_{P}}}} = {I_{P0} + \sum\limits_{P}^{\quad}}}}\quad,$

$I_{N} = {{I_{N0} - {\sum\limits_{N}^{\quad}\quad {{and}\quad I_{P}}}} = {I_{P0} - {\sum\limits_{P}^{\quad}.}}}$

[0105] However, a “fast-NFET-slow-PFET” skew corner does not mean$I_{N} = {{I_{N0} - {\sum\limits_{N}^{\quad}\quad {{and}\quad I_{P}}}} = {I_{P0} - {\sum\limits_{P}^{\quad}.}}}$

[0106] Rather, it means that$I_{N} = {{I_{N0} + {\eta_{N}{\sum\limits_{N}^{\quad}\quad {{and}\quad I_{P}}}}} = {{I_{P0} + {\eta_{P}{\sum\limits_{P}^{\quad}\quad {{with}\quad 0}}}} < \eta_{N} < {{1\quad {and}}\quad - 1} < \eta_{P} < 0}}$

[0107] (say, _(η) _(N) =−_(η) _(P) =0.4). For the more general case inwhich${F_{i} = {F_{i0} + {\eta_{N}\sum\limits_{i}^{\quad}}}},{i = 1},2,\ldots \quad,N,\eta_{i}$

[0108] in Eqs. (8), (9), (11), (12), (14b), (15), (16b), (19), (23), and(24) can be in the range of [−1, 1].

[0109]FIG. 6 is an example of a fast-NFET-slow-PFET skew corner. Itshows that, with 0<_(η) _(N) <1 and −1<_(η) _(P) <0, one can get0<u₁(C)<1 and −1<u₂(C)<1, as desired. (u₁ corresponds to I_(N) in FIG.5, and u₂ corresponds to I_(P) in FIG. 5).

[0110] D. Original FET Parameters are not mutually independent.

[0111] The joint probability distribution (2) can be generalized and bewritten as $\begin{matrix}{{{P\left( {x_{1},x_{2},\ldots \quad,x_{M}} \right)} = {{const} \cdot {\exp \left\lbrack {{- \frac{1}{2}}{\sum\limits_{i,{j = 1}}^{M}\frac{{ɛ_{ij}\left( {x_{i} - x_{i0}} \right)}\left( {x_{j} - x_{j0}} \right)}{\sigma_{i}\sigma_{j}}}} \right\rbrack}}},} & (30)\end{matrix}$

[0112] where _(ε) _(ij) =_(ε) _(ji) and _(ε) _(ij) =1. Un-correlateddistribution (2) is a special case of more general distribution (30)with _(ε) _(ij) =0 for i≠j. In the shifted-and-scaled coordinate system,distribution (30) becomes $\begin{matrix}{{{P\left( {u_{1},u_{2},\ldots \quad,u_{M}} \right)} = {{const} \cdot {\exp \left\lbrack {{- \frac{1}{2}}{\sum\limits_{i,{j = 1}}^{M}{ɛ_{ij}u_{i}u_{j}}}} \right\rbrack}}},} & (31)\end{matrix}$

[0113] Further, Eq. (15) is generalized to $\begin{matrix}\begin{matrix}{{T\left( {u_{1},u_{2},\ldots \quad,u_{M},\lambda_{1},\lambda_{2},\ldots \quad,\lambda_{N}} \right)} = {{\sum\limits_{i,{j = 1}}^{M}{ɛ_{ij}u_{i}u_{j}}} +}} \\{{{\sum\limits_{i = 1}^{N}{\lambda_{i}\quad {\sum\limits_{j = 1}^{M}\left( {{\alpha_{ij}u_{j}} - \eta_{i}} \right)}}},}}\end{matrix} & (32)\end{matrix}$

[0114] and Eq. (16a) becomes $\begin{matrix}\begin{matrix}{{\frac{\partial T}{\partial u_{j}} = {{{2\quad {\sum\limits_{i = 1}^{M}{ɛ_{ij}u_{i}}}} + {\sum\limits_{i = 1}^{N}{\lambda_{i}\alpha_{ij}}}} = 0}},} & {\quad {{j = 1},2,\ldots \quad,M}}\end{matrix} & (33)\end{matrix}$

[0115] Now, Eqs. (8b) and (33) determines (M+N) parameters u₁, u₂, . . ., u_(M) and λ₁, λ₂, . . . , λ_(N).

[0116] E. Second-order approximation.

[0117] If quadratic response surfaces (second-order expansions) are usedto replace Eqs. (1), then Eqs. (8) will also be replaced by quadraticexpressions. [Similarly, the multiplier on λ_(k) in Eq. (15) will alsobe quadratic.] As mentioned at the beginning of the discussion, theabove first-order solution will serve as the starting point of aniteration solution process.

[0118] While several embodiments and variations of the present inventionfor a method of generating optimum skew corners for a compact devicemodel are described in detail herein, it should be apparent that thedisclosure and teachings of the present invention will suggest manyalternative designs to those skilled in the art.

Having thus described our invention, what we claim as new and desire tosecure by Letters Patent is:
 1. A method for generating optimum skewcorners for a compact device model, comprising the steps of: collectinga number N of multiple performance targets F_(i) i=1, 2, . . . N;identifying a number M of model parameters to be included in a skewcorner analysis, and for each model parameter its tolerance and itsnominal value in the compact device model; for each performance targetF_(i), do a sensitivity analysis and find M sensitivity coefficients_(a) _(ij) (j=1, 2, . . . , M); for each performance target (the i^(th)target F_(i)), set the sign and value of a parameter _(η) _(j) for askew corner case _(η) _(i) =1 if the value of the target F_(i) increasesin the skew corner case _(η) _(i) =−1 if the value of the target F_(i)decreases in the skew corner case; classifying performance targets ontogroups; for each group, comparing the number of targets N in the groupand its relation to the number of model parameters M; and for eachgroup, calculating a skew corner coordinate based on the relationshipbetween the number of targets N and the number of model parameters M. 2.The method of claim 1, wherein the skew corner case comprises a worst orslow case.
 3. The method of claim 1, wherein the skew corner casecomprises a best or fast case.
 4. The method of claim 1, wherein theskew corner case comprises a fast-NFET--slow-PFET skew corner.
 5. Themethod of claim 4, and set _(η) _(N) for NFET electric current between 0and 1, 0<_(η) _(N) <1, and set _(η) _(P) for PFET electric currentbetween −1 and 0, −1<_(η) _(P) <0, wherein the values of _(η) _(N) andof _(η) _(P) depend upon the degree of correlation between NFET currentand PFET current.
 6. The method of claim 1, wherein in the step ofclassifying performance targets into groups, in each group denoting theperformance targets within th k^(th) group as i_(k1), i_(k2), . . . ,i_(kN), all ratios a_(j1)/η_(i), for i=i_(k1), i_(k2), . . . , i_(kN)have the same sign or are zero, all ratios a_(i2)/η_(i), for i=i_(k1),i_(k2), . . . , i_(kN) have the same sign or are zero.
 7. The method ofclaim 1, wherein the step of comparing determines if N=M, or N>M, orN<M.
 8. The method of claim 1, wherein the compact model devicecomprises an FET device.
 9. The method of claim 8, wherein the modelparameters include TOX-oxide thickness, ΔL—the difference between drawndesign length and actual electrical length, ΔW—the difference betweenthe design width of the FET device and the actual electrical width ofthe FET device, threshold voltage, mobility, and junction capacitance.10. The method of claim 1, wherein the compact model device comprises apassive device.
 11. The method of claim 10, wherein the passive devicecomprises a resistor, and the model parameters include sheet resistanceof the resistor, the resistor temperature coefficient, and the resistorlength, and resistor width.
 12. The method of claim 1, wherein thecompact model device comprises an interconnect model.
 13. The method ofclaim 7, wherein the model parameters include wire length, wire width,wire thickness, wire-to-wire space in the same metal level, verticaldistance to the next metal level above, and vertical distance to thenext metal level below, vertical distance to asubstrate/N-well/diffusion region below.
 14. The method of claim 12, foran interconnect model, wherein: a first skew corner model is constructedfor the worst case of resistance R; a second skew corner model isconstructed for the best case of capacitance C; a third skew cornermodel is constructed for the worst case of the product RC; a fourth skewcorner model is constructed for simultaneously the worst case ofresistance R and the best case of capacitance C; a fifth skew cornermodel is generated for simultaneously the worst case of resistance R,the best case of capacitance C, and the worst case of the product RC.15. The method of claim 12, wherein: a first skew corner model isconstructed for the best case of resistance R; a second skew cornermodel is constructed for the worst case of capacitance C; a third skewcorner model is constructed for the best case of the product RC; afourth skew corner model is constructed for simultaneously the best caseof resistance R and the worst case of capacitance C; a fifth skew cornermodel is generated for simultaneously the best case of resistance R, theworst case of capacitance C, and the best case of the product R.
 16. Themethod of claim 7, wherein for the case of N=M wherein the number N ofperformance targets equals the number M of model parameters withtolerance, a set of M linear algebraic equations with M unknowns aresolved to find, for each of the M model parameters, a shift amount awayfrom a nominal value, the resulting M skewed model parameter valuesreproduce N skewed performance targets simultaneously.
 17. The method ofclaim 7, wherein for the case of N>M wherein the number N of performancetargets is more than the number M of model parameters with tolerance, aleast-squares fit method is used to achieve an optimum set of M shiftamounts away from their nominal values.
 18. The method of claim 7,wherein for the case of N<M wherein the number N of performance targetsis less than the number M of model parameters with tolerance, maximizethe joint probability distribution of M model parameters under theconstraints of satisfying N skewed performance targets simultaneously,the resulting M skewed model parameter values reproduce N skewedperformance targets simultaneously and are also a set of optimum skewedmodel parameter values, to generate an optimum skew corner.
 19. Themethod of claim 18, wherein for N=1 wherein a skew corner is needed foronly one performance target, maximize the joint probability of M modelparameters under the constraint of reproducing the best or worst case ofthat performance target, under the constraint of satisfying only oneskewed performance target, by shifting the j^(th) (j=1, 2, . . . , M) ofM model parameters by a percentage amount of +a_(1j)σ_(j)/Σ₁

when the value of the performance target increase in the skewed case, or−a_(1jσj)/Σ₁ when the value of the performance target decreases in theskewed case, wherein a_(1j) is the sensitivity of the first performancetarget with respect to the j^(th) model parameter, _(σ) _(j) is thetolerance of the j^(th) model parameter, andΣ₁ = the  square  root  of  [(a₁₁σ₁)² + (a₁₂σ₂)² + … + (a_(1M)σ_(M))²],

the square root of [(a_(11σ1))²+(a_(12σ2))²+ . . . +(a_(1M)σ_(M))²], thetolerance of the first performance target.
 20. The method of claim 19,wherein the resulting percentage shift amounts, measured with respect tothe tolerance of each model parameter's tolerance among M modelparameters, are different from one another, and the resulting percentageshift amounts are the same if the relative sensitivities are the same.